package cn.exrick.xboot.modules.activiti.service.business;

import cn.exrick.xboot.modules.activiti.vo.ProcessNodeVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import cn.exrick.xboot.base.XbootBaseService;
import cn.exrick.xboot.common.vo.SearchVo;
import cn.exrick.xboot.modules.activiti.entity.business.Matter;

/**
 * 事项流转接口
 * 
 * @author lihuan
 */
public interface MatterService extends XbootBaseService<Matter, String> {

	/**
	 * 多条件分页获取
	 * 
	 * @param matter
	 * @param searchVo
	 * @param pageable
	 * @return
	 */
	Page<Matter> findByCondition(Matter matter, SearchVo searchVo, Pageable pageable);


	/**
	 * 获取委托用户列表
	 * @param procInstId
	 * @return
	 */
	ProcessNodeVo getDelegateUsers(String procInstId);

	/**
	 * 获取通过用户列表
	 * @param procInstId
	 * @return
	 */
	ProcessNodeVo getPassUsers(String procInstId);

	/**
	 * 获取驳回用户列表
	 * @param procInstId
	 * @return
	 */
	ProcessNodeVo getBackUsers(String procInstId,String nodeId);
}